import pug from "pug";
import path from "path";

// 1. 直接使用字符串
console.log(pug.compile("p #{name}'s Pug source code!")({ name: "Aaron" }));

// 2. 使用文件
// 编译源码
const compiledFunction = pug.compileFile(
  path.join(process.cwd(), "started/template.pug")
);

// 渲染数据
console.log(
  compiledFunction({
    name: "Aaron",
  })
);

// 3. render 函数，（编译和渲染一起）
// render 可以将编译和渲染合并为一个操作，但是每次调用 render 都会重新编译模板，可能会影响性能。
// 如果将 cache 选项和 render 一起使用，会自动将编译后的函数存储到内部缓存中
console.log(pug.render("p #{name}'s Pug source code!", { name: "Aaron" }));

// console.log(pug.render("p #{name}'s Pug source code!", { name: "Aaron" }));

console.log(
  pug.compile("p #{name}'s Pug source code!", {
    pretty: true,
    cache: true,
  })({ name: "Aaron" })
);
